<script setup lang="ts">
import {ref} from 'vue'
import noHeadCard from "@/components/noHead-card.vue";
import useEcharts from '@/hook/useEcharts'


//图标dom
const chartRef = ref(null);
const colors = ['#c23531', '#2f4554', '#61a0a8'];
const option = {
  color: colors,
  tooltip: {
    trigger: 'axis',
    axisPointer: {
      type: 'cross'
    }
  },
  grid: {
    right: '20%'
  },
  toolbox: {
    feature: {
      dataView: {show: true, readOnly: false},
      restore: {show: true},
      saveAsImage: {show: true}
    }
  },
  legend: {
    data: ['蒸发量', '降水量', '平均温度']
  },
  xAxis: [
    {
      type: 'category',
      axisTick: {
        alignWithLabel: true
      },
      // prettier-ignore
      data: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    }
  ],
  yAxis: [
    {
      type: 'value',
      name: '蒸发量',
      position: 'right',
      alignTicks: true,
      axisLine: {
        show: true,
        lineStyle: {
          color: colors[0]
        }
      },
      axisLabel: {
        formatter: '{value} ml'
      }
    },
    {
      type: 'value',
      name: '降水量',
      position: 'right',
      alignTicks: true,
      offset: 80,
      axisLine: {
        show: true,
        lineStyle: {
          color: colors[1]
        }
      },
      axisLabel: {
        formatter: '{value} ml'
      }
    },
    {
      type: 'value',
      name: '温度',
      position: 'left',
      alignTicks: true,
      axisLine: {
        show: true,
        lineStyle: {
          color: colors[2]
        }
      },
      axisLabel: {
        formatter: '{value} °C'
      }
    }
  ],
  series: [
    {
      name: '蒸发量',
      type: 'bar',
      data: [
        2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3
      ]
    },
    {
      name: '降水量',
      type: 'bar',
      yAxisIndex: 1,
      data: [
        2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3
      ]
    },
    {
      name: '平均温度',
      type: 'line',
      yAxisIndex: 2,
      data: [2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]
    }
  ]
};
/**
 * 使用 Echarts 渲染图表
 * @param {Object} chartRef - 图表的引用DOM
 * @param {Object} option - 图表的配置项（数据）
 */
useEcharts(chartRef, option)
//时间picker的大小
const size = ref<'default' | 'large' | 'small'>('large')
//获取时间picker的日期
const value1 = ref('')
</script>

<template>
  <div class="block">
    <span class="demonstration">时间范围</span>
    <div class="time-picker">
      <el-date-picker
          v-model="value1"
          type="daterange"
          range-separator="至"
          start-placeholder="开始日期"
          end-placeholder="结束日期"
          :size="size"
      />
    </div>
    <div class="bth">
      <el-button type="primary" size="large">查询</el-button>
    </div>
  </div>
  <noHeadCard #content>
    <div class="home-content">
      <el-card style="max-width: 100%">
        <div ref="chartRef" style="width: 100%; height: 650px;"></div>
      </el-card>
    </div>
  </noHeadCard>
</template>

<style scoped>

.block {
  width: 100%;
  display: flex;
  gap: 20px;
  align-items: center;
  margin-bottom: 45px;
}

</style>

